 
 
#ifndef _GUI_WIDGET_
#define _GUI_WIDGET_

#include "Core\Define\Define.h"
#include <string>

namespace Core
{
	namespace GUI
	{
		enum WidgetType
		{
			Window = 0,
			Button,
			Slider,
			VerticalLayout,
			HorizontalLayout,
			Tab,
			Label,
			TextEdit,
			Count
		};
		
		class IWidget
		{
		public:
			virtual WidgetType GetType() const = 0;
			virtual int GetId() const = 0;
			virtual int GetWidth() const = 0;
			virtual int GetHeight() const = 0;
			virtual int GetX() const = 0;
			virtual int GetY() const = 0;
			virtual void SetSize(int _iWidth, int _iHeight) = 0;
			virtual void SetPosition(int _x, int _y) = 0;
			//virtual void SetBackgroundColor(uchar _uRed, uchar _uGreen, uchar _uBlue) = 0;
			//virtual void SetStyle(const std::string & _style) = 0;
		};
	}
}

#endif // _GUI_WIDGET_